// import axios from 'axios' 
// //http://localhost:3000/shops?latitude=40.10038&longitude=116.36867

// //第一个参数是url地址，第二个参数是data，第三个参数是请求方式type类型
// export default function ajax(url,data={},type='get'){ 
// //封装Promise的结果，也就是我们的then(res)
// return new Promise(function(resolve,reject){
//     let myPromise
//     //外面判断ajax请求是get还是post
//     if(type=='get'){
//         //先定义一个空的字符串
//         var dataStr=''
//         //里面先判断是否带参数
//         if(dataStr!==''){ //表示有参数 不为空的清空下
            
//             Object.keys(data).forEach(key=>{
//                 dataStr+=key+'='+data[key]+'&'
//             })
//             var index=dataStr.lastIndexOf('&') //去掉最后的一个&符号
//             // console.log(index);
//             dataStr=dataStr.substring(0,index)
//             url=url+'?'+dataStr
//            //发送get请求
//             myPromise=axios.get(url) //axios请求返回是一个promise

//         }else{
//             myPromise=axios.get(url)
//         }
//     }else{ //post请求  
//       myPromise=axios.post(url,data)
//     }
//     //请求我们的then的处理
//     myPromise.then(res=>{
//         resolve(res.data) //这里返回的res.data就是上面axios里面返回的数据

//     }).catch(err=>{
//         reject(err)
//     })
// })
// }



import axios from 'axios'
// http://localhost:3000/shops?latitude=40.10038&longitude=116.36867

export default function ajax(url, data = {}, type = 'get') {
  // 封装promsise的结果 也就是我们的then(res)
  return new Promise(function (resolve, reject) {
    let myPromise
    //第一层封装封装的url请求参数 已经 区别get post 请求
    if (type == 'get') { //get 请求
      var dataStr = ''
      Object.keys(data).forEach(key => {
        //   console.log(key);
        //   console.log(data[key]);
        dataStr += key + '=' + data[key] + '&'
      })

      if (dataStr !== '') { //表示有参数
        // console.log(dataStr);
        // name=zs&age=18&
        // url=url+'?'+dataStr
        var index = dataStr.lastIndexOf('&')
        // console.log(index);
        dataStr = dataStr.substring(0, index)
        url = url + '?' + dataStr
        myPromise = axios.get(url)  //axios请求返回是一个promise ,结果在then(res)

      } else { //表示没有参数
        myPromise = axios.get(url)
      }




    } else { // post 请求
      myPromise=  axios.post(url, data)
    }
    //请求我们then的处理
    myPromise.then(res => {  //axios 里面所有的数据都在data
      resolve(res.data)
    }).catch(err => {
      reject(err)
    })

  })





}